package java学习.第10章_多线程的入门;

/**
 * 创建线程 1
 * 继承 Thread 类的子类，
 * 重写 run 方法(线程执行的代码在此地)
 */
public class B_Thread {
    public static void main(String[] args) {
        MyThread mt = new MyThread();
        //start 才是真正的线程执行，他会自己调用 run 方法
        mt.start();
        //这个run 仅仅是个方法
//        mt.run();
//        mt.start();//线程只能 start 一次否者报异常
        new Thread(){
            @Override
            public void run() {
                for (int i = 0; i < 100; i++) {
                    if ((i & 31) == 0){
                        System.out.println(Thread.currentThread().getName() +
                                ":\t" + i);
                    }
                }
            }
        }.start();
        new Thread(() -> {
            for (int i = 0; i < 100; i++) {
                if ((i & 31) == 0){
                    System.out.println(Thread.currentThread().getName() +
                            ":\t" + i);
                }
            }
        }).start();
    }
}

class MyThread extends Thread {
    @Override
    public void run() {

        for (int i = 0; i < 100; i++) {
            if ((i & 15) == 0){
                System.out.println(Thread.currentThread().getName() +
                        ":\t" + i);
            }
        }
    }
}
